﻿// Double Queue POJ - 3481  算法训练营.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://vjudge.net/problem/POJ-3481#author=GPT_zh

巴尔干投资集团银行（BIG-Bank）在布加勒斯特开设了一个新办事处，配备了IBM罗马尼亚提供的现代计算环境，并使用现代信息技术。
与往常一样，银行的每位客户都由一个正整数 K 来识别，并在到银行办理某些业务时，会收到一个正整数优先级 P。
银行的年轻经理们提出的一个创新惊呆了服务系统的软件工程师。他们建议打破传统，有时候用优先级最低的服务台来叫号，而不是用优先级最高的。
因此，系统将接收以下类型的请求：

0	系统需要停止服务
1 K P	将客户 K 以优先级 P 添加到等待列表中
2	为优先级最高的客户提供服务，并将其从等待列表中删除
3	为优先级最低的客户提供服务，并将其从等待列表中删除
您的任务是通过编写一个程序来实现所请求的服务政策，帮助银行的软件工程师。

输入
输入的每一行都包含可能的请求之一；只有最后一行包含停止请求（代码 0）。您可以假设当有请求将新客户包含在列表中（代码 1）时，列表中没有其他具有相同客户或相同优先级的请求。标识符 K 总是小于 106，优先级 P 小于 107。客户可能多次到达进行服务，并且每次可能获得不同的优先级。

输出
对于每个代码为 2 或 3 的请求，程序必须在标准输出的单独一行中打印提供服务的客户的标识符。如果请求到达时等待列表为空，则程序将在输出中打印零（0）。

2
1 20 14
1 30 3
2
1 10 99
3
2
2
0

0
20
30
10
0
*/
int main()
{
    std::cout << "Hello World!\n";
}

 